Search and edit Gui Application (위키백과 검색 및 편집 도구)

이 프로젝트는 tkinter GUI 라이브러리와 wikipedia 라이브러리를 결합하여 위키백과의 정보를 검색하고, 가져온 내용을 자유롭게 편집할 수 있는 데스크탑 애플리케이션입니다.

주요 특징

  • 위키백과 통합 검색: 사용자가 입력한 키워드를 바탕으로 위키백과 API를 호출하여 요약 정보를 가져옵니다.
  • 텍스트 편집 기능: 가져온 정보를 편집기 모드에서 수정할 수 있습니다. (편집 활성화/비활성화 기능 포함)
  • 사용자 편의성: 스크롤바가 포함된 텍스트 영역, 검색어 초기화 기능, 에러 메시지 알림 기능을 갖추고 있습니다.
  • 다크 모드 지원: 배경색과 버튼 색상에 어두운 테마를 적용하여 시각적 피로도를 줄였습니다.

코드 설명

1. 필드 및 UI 구성

클래스 기반으로 GUI 요소를 배치하고 변수를 관리합니다.

class searchwiki:
    def __init__(self, root):
        self.root = root
        self.root.title("The Searching and Editing App")
        # 검색어 저장 변수
        self.var_search = StringVar()
        # 텍스트 영역 및 스크롤바 설정
        self.txt_area = Text(frame1, font=("times new roman", 15))
        # ... (생략)

2. 검색 및 데이터 연동

wikipedia.summary를 사용하여 온라인 데이터를 실시간으로 가져옵니다.

def searchword(self):
    if self.var_search.get() == "":
        messagebox.showerror("ERROR", "Search box shouldn't be empty")
    else:
        # 위키백과 정보 수집
        fetch_data = wikipedia.summary(self.var_search.get())
        # 텍스트 영역에 삽입
        self.txt_area.insert('1.0', fetch_data)

3. 편집 모드 제어

텍스트 영역의 상태(state)를 변경하여 편집 여부를 결정합니다.

def enable(self):
    self.txt_area.config(state=NORMAL) # 편집 가능

def disable(self):
    self.txt_area.config(state=DISABLED) # 읽기 전용

참고 자료